package com.liveinstars.activity.business.activity.service;


import com.liveinstars.activity.business.activity.entity.ActivityDO;
import com.liveinstars.activity.business.activity.repository.po.ActivityMembers;
import com.liveinstars.api.dto.ActivityDto;
import com.liveinstars.api.query.ActivityNewQuery;
import com.onepiece.shipelves.common.vo.Page;

import java.util.List;

public interface ActivityService {

    Page<ActivityDO> pageByQuery(ActivityNewQuery query);

    ActivityDO getDetailById(Integer id);

    ActivityDO updateById(ActivityDO vo, Integer activityId);

    List<ActivityDto> getActivitys(Integer userId);

    ActivityDO createActivity(ActivityDO activityDO);

    List<ActivityMembers> getJoinMembers(Integer id);

    int countByActivityId(Integer activityId);

    ActivityMembers getActivityMemberByActivityIdAndUserId(Integer activityId, Integer userId);

    boolean addActivityMember(Integer activityId, Integer userId);

    List<ActivityDO> ListActivityByIds(List<Integer> ids);

    Page<ActivityDO> pageByNewQuery(ActivityNewQuery query, Integer uid);

    Boolean viewActivity(Integer id);

    Boolean likeActivity(Integer id, boolean b);

    Page<ActivityDO> getAllActivitys(ActivityNewQuery query);

    Boolean updateStatus(Integer activityId, int status);

    Page<ActivityDO> getGroupActivitys(ActivityNewQuery query);
}
